// Author: Bjorn Schobben, Domien Nowicki

#ifndef RAYCASTER_H
#define RAYCASTER_H

#include "Renderer.h"
#include "Pixel.h"
#include "Camera.h"
#include "World.h"
#include "Scalar.h"


class Raycaster: public Renderer
{
public:
    Raycaster();
    virtual ~Raycaster();

	void SetWorld(const World& w);
	void Render();

	void TurnLeft();
	void TurnRight();
	void TurnLeft(const Scalar& ratio);
	void TurnRight(const Scalar& ratio);
	void MoveForward();
	void MoveBackward();
	void MoveForward(const Scalar& ratio);
	void MoveBackward(const Scalar& ratio);

private:
	void RenderMinimap();

	World world;
	Camera camera;
};

#endif // RAYCASTER_H
